The present invention relates generally to a system and method for transferring documents and files, and more particularly to a system and method for decoupling a transfer protocol from a central file transfer system.
In a corporate environment, a network system enables users throughout the corporation to share files, such as business documents or mail messages. This sharing may be enabled through a system using, for example, an electronic data interchange (EDI). Such a system can also be referred to as a message broker or integration broker. The message broker may be implemented on a server in the network system of the corporate environment. To protect the network system from undesired external access, a firewall may be implemented as a gateway to and from the network system.
In addition to sharing files within the network system of the corporate environment, the message broker allows the files to be shared with entities external to the network system. This sharing is particularly useful in a business-to-business relationship. For example, it may be useful to share sales information or invoicing between a supplier business and a manufacturing business.
To share files with external entities, the message broker utilizes a transfer protocol. Known transfer protocols include, for example, the file transfer protocol (FTP), the simple mail transfer protocol (SMTP) and the hypertext transfer protocol (HTTP). As their names suggest, FTP is typically used for transferring files, and SMTP is typically used for transferring mail messages. HTTP is typically used for transferring data for web pages.
FIG. 1 is a block diagram of a conventional file transfer system 10. As shown in FIG. 1, the file transfer system 10 includes a network 20. Within the network 20 is a server 30, which is connected to a plurality of client terminals 50 and another server 45, to which is also connected a plurality of client terminals 50. A message broker 40 is implemented on the server 30.
A firewall 60 is coupled to the server 30 of the network 20. Trading partners 80, which correspond to entities external to the network 20, are coupled to the firewall 60. The message broker 40 can transfer data, such as a file using FTP, using a more direct connection for the trading partners 80 that are coupled directly to the firewall 60. Such a direct connection may be useful for high volume strategic trading partners. The firewall may also be coupled to a value added network (VAN) 70. The VAN 70 allows the message broker to transfer data to more remote trading partners 80.
Before establishing a connection with a trading partner 80, the message broker 40 is typically programmed to create a profile indicating the transfer protocol to be used with the trading partner 80. To establish the connection, the message broker 40, which includes routines integrated within the message broker 40 to transfer the data according to the various transfer protocols, refers to the profile to identify the appropriate transfer protocol. For example, if the message broker 40 is implemented in a network 20 for a supplier, the message broker 40 may be programmed to transfer files, such as invoices or purchase orders, to a trading partner 80 using FTP.
A problem with the conventional file transfer system 10 using a message broker 40 arises when the message broker 40 attempts to transfer data using a transfer protocol that the message broker 40 does not support. In other words, the message broker 40 does not include the integrated routine for transferring data with the transfer protocol identified in the profile. To overcome this problem, it is necessary create a new version of the message broker 40 by reprogramming the application underlying the message broker 40 to integrate the routines necessary for supporting the identified transfer protocol into the message broker 40.
In one aspect consistent with the present invention, a method for transferring data from a first computer in an internal network to a second computer outside of the internal network identifies a transfer protocol for transferring the data from the first computer and creates an instance of an initiator which supports the identified transfer protocol. A connection request is transferred to the instance of the initiator, which establishes a data connection from the first computer to the second computer in response to the connection request. The data is transferred across the data connection according to the identified transfer protocol.
In another aspect consistent with the present invention, a system for transferring data from a first computer in an internal network to a second computer outside of the internal network comprises a message broker, located in the internal network, which identifies a transfer protocol for transferring the data from the first computer to the second computer. The system further comprises one or more initiators, each initiator supporting a different transfer protocol, and an interface passing information between the message broker and the initiators. The message broker creates an instance of the initiator supporting the identified transfer protocol and transmits a connection request to the instance of the initiator via the interface. The instance of the initiator establishes a data connection from the first computer to the second computer in response to the connection request and transfers the data across the data connection according to the identified transfer protocol.